Method for routing incoming communication

ABSTRACT

A first mobile device and a plurality of other mobile devices connect to a network. A routing configuration table is configured. The routing configuration table includes rules about sharing communication between the first mobile device and the plurality of other mobile devices. The first mobile device is paired with the plurality of other mobile device based on the routing configuration table. A determination is made whether the first mobile device has received a communication. In response to the determination that a communication has been received by the first mobile device, the communication is transferred to at least one mobile device of the plurality of mobile devices based on the configuration table.

BACKGROUND

The present invention relates generally to the field of mobile devicecommunication, and more particularly to routing (i.e., directing)incoming communications from a first mobile device to another mobiledevice.

Mobile devices of many types such as smartphones, smartwatches,phablets, tablets, wearable technology, and the like, are prominenttoday. These mobile devices also provide users with an easy way tocommunicate with other users. Methods of communication include phonecalls, texting via short message service and/or multimedia messagingservice, video calling, and the use of social media websites.Notifications to a user of these methods of communication include anaudible notification such as a ringtone for a phone call, other audiblesounds such as a beep, chime, or buzz, visual notification such as ablinking light, and haptic notification such as vibration.

SUMMARY OF THE INVENTION

Embodiments of the present invention include a method, computer programproduct, and system for transferring an incoming communication from amobile device to another mobile device. In one embodiment, a firstmobile device and a plurality of other mobile devices connect to anetwork. A routing configuration table is configured. The routingconfiguration table includes rules about sharing communication betweenthe first mobile device and the plurality of other mobile devices. Thefirst mobile device is paired with the plurality of other mobile devicebased on the routing configuration table. A determination is madewhether the first mobile device has received a communication. Inresponse to the determination that a communication has been received bythe first mobile device, the communication is transferred to at leastone mobile device of the plurality of mobile devices based on theconfiguration table.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a functional block diagram of a data processingenvironment, in accordance with an embodiment of the present invention;

FIG. 2 depicts a flowchart of operational steps of a program for routing(i.e., directing) incoming communications from a first mobile device toanother mobile device, in accordance with an embodiment of the presentinvention;

FIG. 3 is an example table of a routing configuration table for a userof a mobile device, in accordance with an embodiment of the presentinvention; and

FIG. 4 depicts a block diagram of components of the mobile device ofFIG. 1, in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention provide for routing (i.e.,directing) incoming communications from a first mobile device to anothermobile device. Types of communication received by a mobile deviceinclude, but are not limited to, phone calls, text messages, socialmedia website notifications, and the like. As an example, a persondriving a vehicle should not be distracted by an incoming notificationso that the likelihood of personal injury, injury to another person, andproperty damage may be reduced. However, driver distraction due toincoming communications is a problem, especially for younger drivers,based on the proliferation of mobile devices. Other examples where auser may want to route messages received by the mobile device of theuser to a mobile device of another user include if the user ispre-occupied (e.g., giving a speech, playing a sport, at an appointmentwith a doctor, etc.) or if the user is pre-disposed (e.g., sleeping,ill, showering, etc.).

Embodiments of the present invention recognize that there may be amethod, computer program product, and computer system for routing (i.e.,directing) incoming communications from a first mobile device to anothermobile device. The method, computer program product, and computer systemmay pair a first mobile device with a second mobile device so thatcommunication received by the first mobile device may also be receivedby the second mobile device, based upon a routing configuration. Thecommunications received by the second mobile device may be acted upon bythe user of the second mobile device.

The present invention will now be described in detail with reference tothe Figures.

FIG. 1 is a functional block diagram illustrating a computingenvironment, generally designated 100, in accordance with one embodimentof the present invention. FIG. 1 provides only an illustration of oneimplementation and does not imply any limitations with regard to thesystems and environments in which different embodiments may beimplemented. Many modifications to the depicted embodiment may be madeby those skilled in the art without departing from the scope of theinvention as recited by the claims.

In an embodiment, computing environment 100 includes mobile device 120connected to network 110. In example embodiments, computing environment100 may include other computing devices (not shown) such assmartwatches, cell phones, smartphones, wearable technology, phablets,tablet computers, laptop computers, desktop computers, other computerservers or any other computer system known in the art, interconnectedwith mobile device 120 over network 110.

In example embodiments, mobile device 120 may connect to network 110,which enables mobile device 120 to access other computing devices and/ordata not directly stored on mobile device 120. Network 110 may be, forexample, a local area network (LAN), a telecommunications network, awide area network (WAN) such as the Internet, or any combination of thethree, and include wired, wireless, or fiber optic connections. Network110 may include one or more wired and/or wireless networks that arecapable of receiving and transmitting data, voice, and/or video signals,including multimedia signals that include voice, data, and videoinformation. In general, network 110 can be any combination ofconnections and protocols that will support communications betweenmobile device 120 and any other computing device connected to network110, in accordance with embodiments of the present invention. In anembodiment, data received by another computing device in computingenvironment 100 (not shown) may be communicated to mobile device 120 vianetwork 110.

In an embodiment, mobile device 120 includes database repository 122 androuting program 124. In embodiments of the present invention, mobiledevice 120 may be a laptop, tablet, or netbook personal computer (PC), adesktop computer, a personal digital assistant (PDA), a smartphone, astandard cell phone, a smart-watch or any other wearable technology, orany other hand-held, programmable electronic device capable ofcommunicating with any other computing device within computingenvironment 100. In certain embodiments, mobile device 120 represents acomputer system utilizing clustered computers and components (e.g.,database server computers, application server computers, etc.) that actas a single pool of seamless resources when accessed by elements ofcomputing environment 100. In general, mobile device 120 isrepresentative of any electronic device or combination of electronicdevices capable of executing computer readable program instructions.Computing environment 100 may include any number of mobile device 120.Mobile device 120 may include components as depicted and described infurther detail with respect to FIG. 4, in accordance with embodiments ofthe present invention.

According to embodiments of the present invention, database repository122 may be storage that may be written to and/or read by mobile device120. In one embodiment, database repository 122 resides on mobile device120. In other embodiments, database repository 122 may reside on anyother device (not shown) in computing environment 100, in cloud storageor on another computing device accessible via network 110. In yetanother embodiment, database repository 122 may represent multiplestorage devices within mobile device 120. In an embodiment, databaserepository 122 may be managed by routing program 124. In an alternativeembodiment, database repository 122 may be managed by the operatingsystem of mobile device 120, alone, or together with, routing program124. Database repository 122 may be implemented using any volatile ornon-volatile storage media for storing information, as known in the art.For example, database repository 122 may be implemented with a tapelibrary, optical library, one or more independent hard disk drives,multiple hard disk drives in a redundant array of independent disks(RAID), solid-state drives (SSD), or random-access memory (RAM).Similarly, database repository 122 may be implemented with any suitablestorage architecture known in the art, such as a relational database, anobject-oriented database, or one or more tables. In an embodiment of thepresent invention, routing program 124 and any other applications (notshown) operating on mobile device 120 may store data to databaserepository 122.

An example of data stored to database repository 122 includes routingconfiguration data which defines the types of communications received bya first mobile device that may be routed to a paired (i.e., second)mobile device. In an embodiment, the first mobile device may be pairedwith one other mobile device. In another embodiment, the first mobiledevice may be paired with any number of other mobile devices. In anembodiment, routing configuration data stored to database repository 122includes at least one of the following: which mobile devices of theplurality of mobile devices available are paired with the first mobiledevice (e.g., the first mobile device of “Mark” is paired with themobile device of “Linda” and the mobile device of “Tom” but not with themobile device of “Matt”) and what types of communication may be routedfrom the mobile device of “Mark” to the other available mobile devices(e.g., personal calls received by the mobile device of “Mark” may berouted to the mobile device of “Linda” but not to the mobile device of“Tom”). Refer to table 300 in FIG. 3 for various routing configurationexamples.

According to embodiments of the present invention, routing program 124may be a program, subprogram of a larger program, application, pluralityof applications, or mobile application software which functions to route(i.e., direct) incoming communications from a first mobile device toanother mobile device. A program is a sequence of instructions writtenby a programmer to perform a specific task. Routing program 124 may runby itself but may be dependent on system software (not shown) toexecute. In one embodiment, routing program 124 functions as astand-alone program residing on mobile device 120. In anotherembodiment, routing program 124 may be included as a part of anoperating system (not shown) of mobile device 120. In yet anotherembodiment routing program 124 may work in conjunction with otherprograms, applications, etc., found on mobile device 120 or in computingenvironment 100. In yet another embodiment, routing program 124 may befound on other computing devices (not shown) in computing environment100 which are interconnected to mobile device 120 via network 110.

According to embodiments of the present invention, routing program 124functions to route (i.e., direct) incoming communications from a firstmobile device to one or more other mobile devices. According to anembodiment of the present invention, routing program 124 pairs mobiledevices per a routing configuration table. Based on the rules found inthe routing configuration table, routing program 124 routescommunications received by the first mobile device to one or more othermobile devices.

In an embodiment, routing program 124 may include a user interface (notshown) that allows a user to interact with routing program 124. A userinterface is a program that provides an interface between a user androuting program 124. A user interface refers to the information (such asgraphic, text, and sound) a program presents to a user and the controlsequences the user employs to control the program. There are many typesof user interfaces. In one embodiment, the user interface can be agraphical user interface (GUI). A GUI is a type of user interface thatallows users to interact with electronic devices, such as a keyboard andmouse, through graphical icons and visual indicators, such as secondarynotations, as opposed to text-based interfaces, typed command labels, ortext navigation. In computers, GUIs were introduced in reaction to theperceived steep learning curve of command-line interfaces, whichrequired commands to be typed on the keyboard. The actions in GUIs areoften performed through direct manipulation of the graphics elements.

FIG. 2 is a flowchart of workflow 200 depicting operational steps forrouting (i.e., directing) incoming communications from a first mobiledevice to one or more other mobile devices, in accordance with anembodiment of the present invention. In one embodiment, the steps ofworkflow 200 are performed by routing program 124. In an alternativeembodiment, the steps of workflow 200 may be performed by any otherprogram working with routing program 124. In an embodiment, a user, viaa user interface discussed previously, may invoke workflow 200 upon auser initiating an action to define a routing configuration table withinrouting program 124. In an alternative embodiment, a user, via a userinterface discussed previously, may invoke workflow 200 upon powering onentering a vehicle with the intent of driving the vehicle.

In an embodiment, routing program 124 connects to a network (step 202).In other words, routing program 124 connects the available mobiledevices to a network so that the mobile devices may communicate with oneanother. In an embodiment, the mobile devices connect to a networkautomatically when the mobile devices are in close proximity to oneanother. In another embodiment, connecting to a network requires anauthentication (e.g., a password, a personal identification number, afingerprint, or any other authentication known in the art). In yetanother embodiment, the mobile devices connect to a network when one ofthe mobile devices is placed in a device (e.g., a cradle) whichactivates the network. In an embodiment, the mobile devices may connectto a mesh network. A wireless mesh network (WMN) is a communicationsnetwork made up of radio nodes organized in a mesh topology. It is alsoa form of wireless ad hoc network. Wireless mesh networks often consistof mesh clients, mesh routers and gateways. The mesh clients are oftenlaptops, cell phones and other wireless devices while the mesh routersforward traffic to and from the gateways which may, but need not, beconnected to the Internet. The coverage area of the radio nodes workingas a single network is sometimes called a mesh cloud. Access to the meshcloud is dependent on the radio nodes working in harmony with each otherto create a radio network. A mesh network is reliable and offersredundancy. When one node can no longer operate, the rest of the nodescan still communicate with each other, directly or through one or moreintermediate nodes. Wireless mesh networks can self-form and self-heal.Wireless mesh networks can be implemented with various wirelesstechnologies including “802.11”, “802.15”, “802.16”, and cellulartechnologies, and need not be restricted to any one technology orprotocol. In another embodiment, a wireless local area network (WLAN), awireless personal area network (WPAN), or any other wired or wirelessnetwork known in the art may be used to connect the plurality of mobiledevices. In an embodiment, mobile device 120 is connected to network110. For example, the mobile device of “Mark” is connected to a meshnetwork in a vehicle. In addition, the mobile devices of “Linda”, “Tom”,and “Matt”, who are occupants in the vehicle with “Mark”, are alsoconnected to the mesh network in the vehicle.

In an embodiment, routing program 124 configures sharing (step 204). Inother words, routing program 124 determines which communication typesmay be shared with (i.e., routed to) the other available mobile devicesconnected to the same network. In an embodiment, a user may configurethe sharing for the mobile device of the user. For example, the user maydecide to share messages received by the mobile device of the user withall other available mobile devices in the network, or with only one ofthree available mobile devices in the network, at the point in time whenthe other mobile devices become available. According to embodiments ofthe present invention, messages include phone calls, e-mails, texts,social media content, and the like. In another embodiment, routingprogram 124 may refer to a routing configuration table, stored to adatabase, to determine which available mobile devices may receivemessages, as well as the type of messages that may be routed from themobile device of the user. In yet another embodiment, routing program124 may refer to an application with which a user, via a cloud service,adds “trusted friends” and the types of messages the “trusted friends”may receive routed from a mobile device of the user.

In an embodiment, routing program 124 refers to a routing configurationtable stored to database repository 122 on mobile device 120 toconfigure sharing. For example, referring to table 300 in FIG. 3, themobile device of “Linda” and the mobile device of “Tom” may receivecertain messages routed from the mobile device of “Mark”, as indicatedby the yes or no notation in table 300, since both the mobile device of“Linda” and the mobile device of “Tom” are paired with the mobile deviceof “Mark”. However, the mobile device of “Matt” may not receive anymessages routed from the mobile device of “Mark”, as indicated by thenot applicable or N/A notation in table 300, since the mobile device of“Matt” is not paired with the mobile device of “Mark”. As detailed intable 300 in FIG. 3, the types of messages routed from the mobile deviceof “Mark” to other users is defined. For example, the mobile device of“Linda” may receive personal calls routed from the mobile device of“Mark” but the mobile device of “Tom” cannot. Note that the mobiledevice of “Tom” may receive business calls routed from the mobile deviceof “Mark” but the mobile device of “Linda” cannot. In this example,“Linda” may be the spouse of “Mark” and “Tom” may be a businesscolleague of “Mark”. The mobile device of “Matt”, who may be a child inthis example, cannot receive any messages routed from the mobile deviceof “Mark”. Other examples of the types of messages that may be routedfrom the mobile device of “Mark” to the mobile device of “Linda” and tothe mobile device of “Tom” are also illustrated in table 300 in FIG. 3.

In an embodiment, routing program 124 pairs devices (step 206). In otherwords, routing program 124 establishes a connection between mobiledevices, which enables communication between the mobile devices. Anexample of pairing is that of pairing a mobile device with a headset toallow for hands free cellular phone calls. In an embodiment, routingprogram 124 activates discovery mode on the plurality of availablemobile devices. Discovery mode allows compatible devices to “see” oneanother. Discovery mode may not be initially enabled as a means ofsaving battery reserve in a mobile device. In another embodiment, eachmobile device user may activate discovery mode on the mobile device ofeach user. In yet another embodiment, when a mobile device detects anetwork (e.g., mesh, WLAN, WPAN, etc.), each mobile device activatesdiscovery mode. In an embodiment, once the mobile devices discover theother available mobile devices, the mobile devices pair. In anembodiment, a user may determine which devices are paired with themobile device of the user. In another embodiment, a routingconfiguration table, stored in a database, governs the pairing of mobiledevices. In an embodiment, the pairing of devices is automatic. Inanother embodiment, the paring of devices requires an authentication(e.g., a password, a personal identification number, a fingerprint, orany other authentication known in the art). In an embodiment, once oneor more pairings are severed, all routed (i.e., transferred) messagecontent is stored to the mobile device that originally received themessage content and the routed message content is deleted from thepaired mobile device(s). In an embodiment, routing program 124 refers toa routing configuration table stored to database repository 122 onmobile device 120 to determine with which available mobile devices topair. For example, as shown in table 300 in FIG. 3, the mobile device of“Mark” is paired with the mobile device of “Linda” and with the mobiledevice of “Tom” but not with the mobile device of “Matt”.

In an embodiment, routing program 124 determines whether a message isreceived (decision step 208). In other words, routing program 124determines whether a mobile device in a network, which is set up toroute messages to another mobile device in the network, receives amessage. In an embodiment (decision step 208, NO branch), a message isnot received by the user device; therefore, routing program 124 returnsto step 202 to continue to prepare to route messages. In the embodiment(decision step 208, YES branch), a message is received by the userdevice; therefore, routing program 124 proceeds to step 210.

In an embodiment, routing program 124 transfers the message (step 210).In other words, responsive to determining that a mobile device, which isset up to route messages to another mobile device, has received amessage (decision step 208, YES branch), routing program 124 transfersthe received message to the paired mobile device. In an embodiment, themessage is transferred or prevented from being transferred based on arouting configuration table determined by a user. In another embodiment,the message is transferred or prevented from being transferred based ona routing configuration table stored to a local database repository. Inyet another embodiment, the message is transferred or prevented frombeing transferred based on a routing configuration table, stored in acloud service, and created by a user with an application. In anembodiment, routing program 124 may differentiate personal calls,e-mails, and texts from business calls, e-mails, and texts received by auser based on a contact list or a phone book stored to the mobile deviceof the user. In another embodiment, routing program 124 maydifferentiate confidential from non-confidential business e-mailsreceived by a user based on the contact list or the phone book. In yetanother embodiment, routing program 124 may differentiate confidentialfrom non-confidential business e-mails and may differentiate personalsocial media from business social media based on analysis of the e-mailsand social media using methods including natural language processing(NLP), cognitive computing, object recognition, video content analytics,and any other method known in the art.

In an embodiment, NLP is a field of computer science, artificialintelligence, and computational linguistics concerned with theinteractions between computers and human (natural) languages. As such,NLP is related to the area of human-computer interaction. Manychallenges in NLP involve natural language understanding, that is,enabling computers to derive meaning from human or natural languageinput, and others involve natural language generation.

In an embodiment, cognitive computing involves self-learning systemsthat use data mining, pattern recognition and natural languageprocessing to mimic the way the human brain works. The goal of cognitivecomputing is to create automated information technology (IT) systemsthat are capable of solving problems without requiring human assistance.Cognitive computing systems use machine learning algorithms. Cognitivecomputing systems continually acquire knowledge from the data fed intothem by mining data for information. The cognitive computing systemsrefine the way they look for patterns and as well as the way theyprocess data so they become capable of anticipating new problems andmodeling possible solutions.

In an embodiment, object recognition, in the field of computer vision,describes the task of finding and identifying objects in an image orvideo sequence. Humans recognize a multitude of objects in images withlittle effort, despite the fact that the image of the objects may varysomewhat in different viewpoints, in many different sizes and scales, oreven when the image of the objects are translated or rotated. Objectsmay even be recognized when the objects are partially obstructed fromview. Methods used may be appearance-based or feature-based.

In an embodiment, video content analytics (VCA) is the capability ofautomatically analyzing video to detect and determine temporal andspatial events. VCA technical capability is used in a wide range ofdomains including entertainment, health-care, retail, automotive,transport, home automation, safety and security. VCA algorithms can beimplemented as software on general purpose machines, or as hardware inspecialized video processing units. Many different functionalities canbe implemented in VCA. Video Motion Detection is one of the simplerforms where motion is detected with regard to a fixed background scene.More advanced functionalities include video tracking and egomotionestimation. Based on the internal representation that VCA generates inthe machine, it is possible to build other functionalities, such asidentification, behavior analysis or other forms of situation awareness.VCA relies on good input video, so it is often combined with videoenhancement technologies such as video denoising, image stabilization,unsharp masking and super-resolution.

In an embodiment, routing program 124 transfers a message received bymobile device 120 based on the routing configuration table stored todatabase repository 122. Refer to table 300 in FIG. 3 for the followingexample. For a first example, routing program 124 determines that themobile device of “Mark” is paired with the mobile device of “Linda” andthe mobile device of “Tom” but not with the mobile device of “Matt”.Routing program 124 also determines that personal calls, personale-mails, personal texts, and personal social media may be routed fromthe mobile device of “Mark” to the mobile device of “Linda” but not tothe mobile device of “Tom”. In this first example, routing program 124transfers a personal e-mail received by the mobile device of “Mark” tothe mobile device of “Linda” who is the spouse of “Mark”. The personale-mail is not routed to any other user in the network.

Again, refer to table 300 in FIG. 3 for the following example. In asecond example, routing program 124 determines that the mobile device of“Mark” is paired with the mobile device of “Linda” and the mobile deviceof “Tom” but not with the mobile device of “Matt”. Routing program 124also determines that business calls, non-confidential business e-mails,and business texts may be routed from the mobile device of “Mark” to themobile device of “Tom” but not to the mobile device of “Linda”. Routingprogram 124 also determines that business social media may be routedfrom the mobile device of “Mark” to the mobile device of both “Linda”and “Tom”. In this second example, routing program 124 transfers anon-confidential business e-mail, received by the mobile device of“Mark”, to the mobile device of “Tom”, who is a business colleague of“Mark”. The non-confidential business e-mail is not routed to any otheruser in the network.

Again, refer to table 300 in FIG. 3 for the following example. In athird example, routing program 124 determines that the mobile device of“Mark” is paired with the mobile device of “Linda” and the mobile deviceof “Tom” but not with the mobile device of “Matt”. Routing program 124also determines that a confidential business e-mail, received by themobile device of “Mark”, cannot be routed to the mobile device of“Linda” or the mobile device of “Tom”. In this third example, aconfidential business e-mail received by the mobile device of “Mark” isnot routed to either the mobile device of “Linda” or the mobile deviceof “Tom” as neither “Linda” (the spouse of “Mark”) or “Tom” (thebusiness colleague of “Mark”) has the appropriate clearance to receiveconfidential information related to the business of “Mark”.

Again, refer to table 300 in FIG. 3 for the following example. In afourth example, routing program 124 determines that the mobile device of“Mark” is paired with the mobile device of “Linda” and the mobile deviceof “Tom” but not with the mobile device of “Matt”. Routing program 124also determines that business social media content received by themobile device of “Mark” may be routed to the mobile device of “Linda”and the mobile device of “Tom”. In this fourth example, business relatedsocial media content received by the mobile device of “Mark” is routedto both the mobile device of “Linda” and the mobile device of “Tom” ascontent posted to social media is non-confidential and available to thegeneral public which includes both “Linda” and “Tom”.

FIG. 4 depicts computer system 400, which is an example of a system thatincludes routing program 124. Computer system 400 includes processors401, cache 403, memory 402, persistent storage 405, communications unit407, input/output (I/O) interface(s) 406 and communications fabric 404.Communications fabric 404 provides communications between cache 403,memory 402, persistent storage 405, communications unit 407, andinput/output (I/O) interface(s) 406. Communications fabric 404 can beimplemented with any architecture designed for passing data and/orcontrol information between processors (such as microprocessors,communications and network processors, etc.), system memory, peripheraldevices, and any other hardware components within a system. For example,communications fabric 404 can be implemented with one or more buses or acrossbar switch.

Memory 402 and persistent storage 405 are computer readable storagemedia. In this embodiment, memory 402 includes random access memory(RAM). In general, memory 402 can include any suitable volatile ornon-volatile computer readable storage media. Cache 403 is a fast memorythat enhances the performance of processors 401 by holding recentlyaccessed data, and data near recently accessed data, from memory 402.

Program instructions and data used to practice embodiments of thepresent invention may be stored in persistent storage 405 and in memory402 for execution by one or more of the respective processors 401 viacache 403. In an embodiment, persistent storage 405 includes a magnetichard disk drive. Alternatively, or in addition to a magnetic hard diskdrive, persistent storage 405 can include a solid state hard drive, asemiconductor storage device, read-only memory (ROM), erasableprogrammable read-only memory (EPROM), flash memory, or any othercomputer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 405 may also be removable. Forexample, a removable hard drive may be used for persistent storage 405.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage405.

Communications unit 407, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 407 includes one or more network interface cards.Communications unit 407 may provide communications through the use ofeither or both physical and wireless communications links. Programinstructions and data used to practice embodiments of the presentinvention may be downloaded to persistent storage 405 throughcommunications unit 407.

I/O interface(s) 406 allows for input and output of data with otherdevices that may be connected to each computer system. For example, I/Ointerface 406 may provide a connection to external devices 408 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 408 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention can be stored on such portablecomputer readable storage media and can be loaded onto persistentstorage 405 via I/O interface(s) 406. I/O interface(s) 406 also connectto display 409.

Display 409 provides a mechanism to display data to a user and may be,for example, a computer monitor.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

What is claimed is:
 1. A method for transferring an incomingcommunication from a mobile device to another mobile device, the methodcomprising the steps of: determining, by one or more computerprocessors, whether a communication of a plurality of communications isreceived by a first mobile device; responsive to determining that thecommunication of the plurality of communications has been received bythe first mobile device, transferring, by one or more computerprocessors, the communication of the plurality of communications to atleast one mobile device of a plurality of other mobile devices based ona routing configuration table; determining, by one or more processors,whether a pairing between the first mobile device and one or more mobiledevices of the plurality of mobile devices is severed; responsive todetermining that the pairing between the first mobile device and one ormore mobile devices of the plurality of mobile devices is severed,identifying, by one or more computer processors, the one or more mobiledevices of the plurality of mobile devices associated with the severedpairing; identifying, by one or more computer processors, thetransferred communication associated with the identified one or moremobile devices of the plurality of mobile devices associated with thesevered pairing; storing, by one or more computer processors, theidentified transferred communication to the first mobile device; anddeleting, by one or more computer processors, the identified transferredcommunication from the one or more mobile devices of the plurality ofother mobile devices paired to the first mobile device.
 2. The method ofclaim 1, wherein the plurality of communications is selected from agroup consisting of a personal phone call, a business phone call, apersonal e-mail, a business e-mail, a personal text, a business text, apersonal social media content, and a business social media content, andwherein the business e-mail may be confidential or non-confidential. 3.The method of claim 2, wherein a personal communication may bedifferentiated from a business communication based on an item selectedfrom the group consisting of a phone book, a contact list, a naturallanguage processing analysis, a cognitive computing analysis, an objectrecognition analysis, and a video content analysis, and wherein aconfidential business e-mail may be differentiated from anon-confidential e-mail based on an item selected from the groupconsisting of a phone book, a contact list, a natural languageprocessing analysis, a cognitive computing analysis, an objectrecognition analysis, and a video content analysis.
 4. The method ofclaim 1, wherein the step of transferring, by one or more computerprocessors, the communication of the plurality of communications to atleast one mobile device of a plurality of other mobile devices based ona routing configuration table, comprises: identifying, by one or morecomputer processors, a type of communication the at least one mobiledevice of the plurality of mobile devices is allowed to receive; andresponsive to determining that the communication is the type ofcommunication that is identified as allowed to be received,transferring, by one or more computer processors, the communication tothe at least one mobile device.
 5. The method of claim 4, furthercomprising: responsive to determining that the communication is the typeof communication that is not identified as allowed to be received,preventing, by one or more computer processors, the transfer of thecommunication from the first mobile device to the at least one mobiledevice.
 6. The method of claim 1, wherein the routing configurationtable includes rules about sharing communications between the firstmobile device and the plurality of other mobile devices.
 7. A computerprogram product for transferring an incoming communication from a mobiledevice to another mobile device, the computer program productcomprising: one or more computer readable storage media; and programinstructions stored on the one or more computer readable storage media,the program instructions comprising: program instructions to determinewhether a communication of a plurality of communications is received bya first mobile device; responsive to determining that the communicationof the plurality of communications has been received by the first mobiledevice, program instructions to transfer the communication of theplurality of communications to at least one mobile device of a pluralityof other mobile devices based on a routing configuration table; programinstructions to determine whether a pairing between the first mobiledevice and one or more mobile devices of the plurality of mobile devicesis severed; responsive to determining that the pairing between the firstmobile device and one or more mobile devices of the plurality of mobiledevices is severed, program instructions to identify the one or moremobile devices of the plurality of mobile devices associated with thesevered pairing; program instructions to identify the transferredcommunication associated with the identified one or more mobile devicesof the plurality of mobile devices associated with the severed pairing;program instructions to store the identified transferred communicationto the first mobile device; and program instructions to delete theidentified transferred communication from the one or more mobile devicesof the plurality of other mobile devices paired to the first mobiledevice.
 8. The computer program product of claim 7, wherein theplurality of communications is selected from a group consisting of apersonal phone call, a business phone call, a personal e-mail, abusiness e-mail, a personal text, a business text, a personal socialmedia content, and a business social media content, and wherein thebusiness e-mail may be confidential or non-confidential.
 9. The computerprogram product of claim 8, wherein a personal communication may bedifferentiated from a business communication based on an item selectedfrom the group consisting of a phone book, a contact list, a naturallanguage processing analysis, a cognitive computing analysis, an objectrecognition analysis, and a video content analysis, and wherein aconfidential business e-mail may be differentiated from anon-confidential e-mail based on an item selected from the groupconsisting of a phone book, a contact list, a natural languageprocessing analysis, a cognitive computing analysis, an objectrecognition analysis, and a video content analysis.
 10. The computerprogram product of claim 7, wherein the program instructions to transferthe communication of the plurality of communications to at least onemobile device of a plurality of other mobile devices based on a routingconfiguration table, comprises: program instructions to identify a typeof communication the at least one mobile device of the plurality ofmobile devices is allowed to receive; and responsive to determining thatthe communication is the type of communication that is identified asallowed to be received, program instructions to transfer thecommunication to the at least one mobile device.
 11. The computerprogram product of claim 10, further comprising program instructionsstored on the one or more computer readable storage media, to:responsive to determining that the communication is the type ofcommunication that is not identified as allowed to be received, preventthe transfer of the communication from the first mobile device to the atleast one mobile device.
 12. The computer program product of claim 7,wherein the routing configuration table includes rules about sharingcommunications between the first mobile device and the plurality ofother mobile devices.
 13. A computer system for transferring an incomingcommunication from a mobile device to another mobile device, thecomputer system comprising: one or more computer processors; one or morecomputer readable storage media; and program instructions stored on theone or more computer readable storage media for execution by at leastone of the one or more computer processors, the program instructionscomprising: program instructions to determine whether a communication ofa plurality of communications is received by a first mobile device;responsive to determining that the communication of the plurality ofcommunications has been received by the first mobile device, programinstructions to transfer the communication of the plurality ofcommunications to at least one mobile device of a plurality of othermobile devices based on a routing configuration table; programinstructions to determine whether a pairing between the first mobiledevice and one or more mobile devices of the plurality of mobile devicesis severed; responsive to determining that the pairing between the firstmobile device and one or more mobile devices of the plurality of mobiledevices is severed, program instructions to identify the one or moremobile devices of the plurality of mobile devices associated with thesevered pairing; program instructions to identify the transferredcommunication associated with the identified one or more mobile devicesof the plurality of mobile devices associated with the severed pairing;program instructions to store the identified transferred communicationto the first mobile device; and program instructions to delete theidentified transferred communication from the one or more mobile devicesof the plurality of other mobile devices paired to the first mobiledevice.
 14. The computer system of claim 13, wherein the plurality ofcommunications is selected from a group consisting of a personal phonecall, a business phone call, a personal e-mail, a business e-mail, apersonal text, a business text, a personal social media content, and abusiness social media content, and wherein the business e-mail may beconfidential or non-confidential.
 15. The computer system of claim 14,wherein a personal communication may be differentiated from a businesscommunication based on an item selected from the group consisting of aphone book, a contact list, a natural language processing analysis, acognitive computing analysis, an object recognition analysis, and avideo content analysis, and wherein a confidential business e-mail maybe differentiated from a non-confidential e-mail based on an itemselected from the group consisting of a phone book, a contact list, anatural language processing analysis, a cognitive computing analysis, anobject recognition analysis, and a video content analysis.
 16. Thecomputer system of claim 13, wherein the program instructions totransfer the communication of the plurality of communications to atleast one mobile device of a plurality of other mobile devices based ona routing configuration table, comprises: program instructions toidentify a type of communication the at least one mobile device of theplurality of mobile devices is allowed to receive; and responsive todetermining that the communication is the type of communication that isidentified as allowed to be received, program instructions to transferthe communication to the at least one mobile device.
 17. The computersystem of claim 16, program instructions stored on the one or morecomputer readable storage media for execution by at least one of the oneor more computer processors, to: responsive to determining that thecommunication is the type of communication that is not identified asallowed to be received, prevent the transfer of the communication fromthe first mobile device to the at least one mobile device.
 18. Thecomputer system of claim 13, wherein the routing configuration tableincludes rules about sharing communications between the first mobiledevice and the plurality of other mobile devices.